<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>


	<meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
	<title>CDS performance test Tool by Nandagopal.subramani</title>
	<meta name="GENERATOR" content="NeoOffice 2.2  (Unix)">
	<meta name="CREATED" content="20080916;51000">
	<meta name="CHANGED" content="20080922;11434300">
	<style type="text/css">
	<!--
		P.p5 { margin-bottom: 0cm; font-family: "Times New Roman"; font-size: 9pt; text-align: justify }
		P.p3 { margin-bottom: 0cm; font-family: "Times New Roman"; font-size: 9pt; text-align: justify }
		P.p12 { margin-bottom: 0cm; font-family: "Times New Roman"; font-size: 9pt }
	-->
	</style>
</head><body dir="ltr" lang="en-IN">
<p align="center"><font style="font-size: 20pt;" size="5"><u><b>CDS
performance test Tool</b></u></font></p>
<p align="left">Document last updated on : 22 September 2008</p>
<p align="left">Author: Nandagopal.subramani@gmail.com 
</p>
<p style="" align="left"><font style="font-size: 16pt;" size="4"><u>What
is CDS performance test tool:</u></font></p>
<ul>
	<li><p>It is a set of shell/ java/ xml/ sql scripts created
	specifically for performance testing of CDS. CDS QA does not rely
	upon a third party expensive tools generally used for performance
	testing.Our tools help achieve the following tasks --</p>
	</li><li><p>- Automated deployment of CDS with various parameter settings
	that help in getting optimal performance</p>
	</li><li><p style="text-decoration: none;"><font size="3">-
	Populating CDS database with the required data size</font></p>
</li></ul>
<p><font style="font-size: 16pt;" size="4"><u><span style="">Location
of CDS performance test tools:</span></u></font><span style="text-decoration: none;"><font size="3"><span style=""><br></span></font></span><br><br>
</p>
<ul>
	<li><p><span style="text-decoration: none;"><font size="3"><span style="">The
	scripts are located in internal repository on jalapi.The svn
	repository for the same is
	<a href="http://jalapi.sfbay.sun.com:8888/svn/cds/internal/trunk/">http://jalapi.sfbay.sun.com:8888/svn/cds/internal/trunk/</a></span></font></span></p>
	</li><li><p>The main script is "cdsa" located in
	modules/internal/perftest/src/scripts/cdsadmin directory of the
	workspace mentioned above. This script then communicates to other
	scripts/ functions to achieve different tasks.</p>
	</li><li><p>The automatic execution of this tool is done through the
	<b>wrapper scripts</b> located at:
	modules/internal/perftest/src/scripts/cdsa_wrapper_scripts
	directory. 
	</p>
</li></ul>
<p><br><br>
</p>
<p><font style="font-size: 16pt;" size="4"><u>Step for CDS deployment
and Database setup using performance test tool:</u></font></p>
<p>At high level the procedure that is followed for achieving this
task is --</p>
<ol>
	<li><p>Inflate CDS build binary in desired host</p>
	</li><li><p>Inflate performance tool in the resulting directories
	mentioned in step 1.</p>
	</li><li><p>Create CDS deployment</p>
	</li><li><p>Inject data in database</p>
	</li><li><p>Do http test through slamd</p>
</li></ol>
<p>Lets look at each of the above steps in detail.</p>
<p><br><br>
</p>
<p><u>Consistent Directory structure:</u></p>
<p>Before we start it is recommended that we maintain a directory
structure that is consistent and logically separates the modules
involved. Create the following directory structure:</p>
<p><i>/&lt;your chosen location&gt;/performance /release</i></p>
<p><i>/&lt;your chosen location&gt;/performance /workspace</i></p>
<p style=""><i>/&lt;your chosen
location&gt;/performance /deployment.</i></p>
<p style="">The <i><b>release</b></i> directory
will have the CDS build we want use for testing This would be in .zip
format. Place the CDS build you want to test here.</p>
<p style="">The <i><b>workspace</b></i> will have
the CDS source code and internal performance test related stuff. This
is where all the action begins.</p>
<p style="">The <i><b>deployment</b></i> directory
will be used to deploy CDS Deployment using the performance scrits.
Initially this directory will be empty. Once we run the performance
scripts a new deployment is deployed in this directory.</p>
<p style="margin-top: 0.43cm; page-break-after: avoid;"><font face="New times roman"><font style="font-size: 16pt;" size="4"><u>Prerequisite
for CDS deployment and Database setup:</u></font></font></p>
<p>Performance scripts depends on workspace for compilation and
packaging. Please perform the following steps to export CDS work
space and internal performance scripts workspace and to build
performance scripts.</p>
<p><i><u><b>Building perftest.jar :</b></u></i></p>
<ol>
	<li><p style="font-style: normal; text-decoration: none;">
	mkdir &lt;cds-base&gt;</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			Use the “<i>/&lt;your chosen location&gt;/performance
			/workspace” for cds-base. This is just a convention i followed. </i>
			</p>
		</li></ul>
	</ul>
</ul>
<ol start="2">
	<li><p style="font-style: normal; text-decoration: none;">
	cd &lt;cds-base&gt;</p>
	</li><li><p style="font-style: normal; text-decoration: none;">
	Checkout the source files:</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p><font face="Times New Roman"><span style="">svn
			export <a href="https://opencds.dev.java.net/svn/opencds/trunk">https://opencds.dev.java.net/svn/opencds/trunk</a></span></font></p>
			</li><li><p><span style="text-decoration: none;"><font face="Times New Roman"><span style="font-style: normal;"><span style="">svn
			export <a href="https://opencds.dev.java.net/svn/opencds/dependencies">https://opencds.dev.java.net/svn/opencds/dependencies</a></span></span></font></span></p>
			</li><li><p><font color="#000000"><span style="text-decoration: none;"><font face="TimesNewRomanPSMT, serif"><font size="3"><span style="font-style: normal;"><span style="">svn
			export </span></span></font></font></span></font><a href="http://jalapi.sfbay.sun.com:8888/svn/cds/internal/trunk"><font color="#0018e8"><font face="TimesNewRomanPSMT, serif"><font size="3"><span style="font-style: normal;"><u><span style="">http://jalapi.sfbay.sun.com:8888/svn/cds/internal/trunk</span></u></span></font></font></font></a></p>
			</li><li><p>Right now the source have not been checked in . Hence copy
			and unzip the internalperftest.zip from the 
			</p>
			</li><li><p>export CDS_HOME=&lt;cds-base&gt;/trunk</p>
			</li><li><p>export CDS_TOOLS=&lt;cds-base&gt;/dependencies</p>
			</li><li><p>export PATH=$CDS_HOME/bin:$CDS_HOME/tools:$PATH</p>
			</li><li><p>cd $CDS_TOOLS</p>
			</li><li><p><font color="#000000"><font face="TimesNewRomanPSMT, serif"><font size="3">svn
			export
			</font></font></font><a href="http://jalapi.sfbay.sun.com:8888/svn/cds/internal/dependencies/internal"><font color="#0018e8"><font face="TimesNewRomanPSMT, serif"><font size="3"><u>http://jalapi.sfbay.sun.com:8888/svn/cds/internal/dependencies/internal</u></font></font></font></a></p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			Open the init_env.sh file from $CDS_HOME/bin directory and specify
			location of Java and other parameters.</p>
		</li></ul>
	</ul>
</ul>
<ol start="4">
	<li><p style="font-style: normal; text-decoration: none;">
	Build the workspace</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			cdst buildall</p>
		</li></ul>
	</ul>
</ul>
<ol start="5">
	<li><p style="font-style: normal; text-decoration: none;">
	Build the internal perftest module</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			cd $CDS_HOME/modules/</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			cdst build internal/perftest</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			The above command will build the perftest.jar and copy it in
			“$CDS_HOME/modules/internal/perftest/dist” folder</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			The reference to the above path should be specified in the evn.sh
			( more on the env.sh file shortly ahead).</p>
		</li></ul>
	</ul>
</ul>
<p><br><br>
</p>
<p><u><b>Build toolpack.zip</b></u></p>
<ul>
	<li><p>Go to
	$CDS_HOME/modules/internal/perftest/src/scripts/cdsadmin directory.</p>
	</li><li><p>Make sure “cdsa” is executable by executing chmod +X cdsa</p>
	</li><li><p>execute ./cdsa pack</p>
	</li><li><p>This will create a toolpack.zip in your $CDS_HOME directory.</p>
	</li><li><p>The reference to the above zip file should be specified in
	evn.sh file.</p>
</li></ul>
<p><br><br>
</p>
<p><u><b>Using the CDS Performance tool to deploy and generate
scripts for DB population:</b></u></p>
<p><i><b>Setting up the environment file </b></i>which will be used
by the scripts to deploy and setup the performance infrastructure.
The file is located under the workspace.</p>
<p>vi
/trunk/<span style="text-decoration: none;"><span style="font-style: normal;"><span style="">modules/internal/perftest/src/scripts/cdsa_wrapper_scripts/env.sh</span></span></span></p>
<p style="font-style: normal; text-decoration: none;">
The important parameter to set are as follows.</p>
<ul>
	<li><p><span style="text-decoration: none;"><span style="font-style: normal;"><span style="">CDS_RELEASE=</span></span></span><span style="text-decoration: none;"><i><span style="">/&lt;your
	chosen location&gt;/performance /release/</span></i></span><span style="text-decoration: none;"><span style="font-style: normal;"><span style="">&lt;file
	name&gt;</span></span></span></p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			Here the file name is the build you are going to use for
			deployment. Ex: Bluedog GA release.</p>
		</li></ul>
	</ul>
	</li><li><p><span style="text-decoration: none;"><span style="font-style: normal;"><span style="">CDS_HOME_PARENT=
	</span></span></span><span style="text-decoration: none;"><i><span style="">/&lt;your
	chosen location&gt;/performance /deployment</span></i></span></p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			This directory is where you want the CDS to be deployed. Initially
			this directory will be empty.</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	BINARY= &lt;filename&gt;</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			The is the name of the file kept in the CDS_RELEASE directory. Ex:
			Sun_Java*</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	CDSA_TOOLS=/space/performance/cds_workspace/trunk/toolpack.zip</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			Location of the toolpack.zip file.</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			Kindly note that you need to give absolute path to the file and
			not $CDS_HOME followed by relative directory</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	PERFTEST_JAR=/space/performance/cds_workspace/trunk/modules/internal/perftest/dist/perftest.jar</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			Location of the perftest.jar</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			Kindly note that you need to give absolute path to the file and
			not $CDS_HOME followed by relative directory</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	PATCH_DEPLOY=false</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			Indicating that this is not a patch deployment.</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	ANT_HOME=</p>
	</li><li><p style="font-style: normal; text-decoration: none;">
	Rest of the filed are quite self explanatory like</p>
	<ul>
		<ul>
			<li><p>which application server you want to make use of --
			weblogic(wl), Sun One(sn)?</p>
			</li><li><p>what is the location of application server?</p>
			</li><li><p>what is the location of jdk?</p>
			</li><li><p>which is your database host?</p>
			</li><li><p>what is ORACLE_HOME in the database server?</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			what should be the database schema name?</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">Performance
	Database Parameters</p>
	<ul>
		<ul>
			<li><p class="p5" style="margin-bottom: 0.51cm;">ONESTEP --- &gt;
			No of one step devices to be created</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">TWOSTEP --- &gt;
			No of two step devices to be created</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">SUB_BASE --- &gt;
			Base Id for subscribers</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">SUB_PREFIX --- &gt;
			Prefix to use for subscriber id 
			</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">SUB_COUNT -- &gt;
			No. of subscribers to create</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">WIDTH ---&gt; No
			of Categories to be created in width</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">DEPTH --- &gt; No
			of categories to be created in depth 
			</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">CONTENT_SAMPLES
			--- &gt; Number of sample contents 
			</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm;">CAT_SIZE ---&gt;
			Content edition count</p>
			</li><li><p class="p5" style="margin-bottom: 0.51cm; font-style: normal; text-decoration: none;">
			MULTIPLIER --- &gt; to specify how many contents to be created (
			multiplied) 
			</p>
		</li></ul>
	</ul>
</li></ul>
<p style="font-style: normal;"><u><b>Deploy CDS and setup Database:</b></u></p>
<p style="font-style: normal; text-decoration: none;">
Using Command line interface:</p>
<ul>
	<li><p style="font-style: normal; text-decoration: none;">
	Enter the cdsa_wrapper_scripts directory that has the env.sh and
	other scripts like preparel.sh ,setupl.sh</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			cd
			../workspace/trunk/modules/internal/perftest/src/scripts/cdsa_wrapper_scripts/</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	Execute the preparel.sh</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			This scripts sets up the deployment. It unzips the release file
			and other files required to set up the deployment.</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			This scripts in turn calls the prepare.sh</p>
		</li></ul>
	</ul>
	</li><li><p style="font-style: normal; text-decoration: none;">
	Execute setupl.sh</p>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			This scripts in turn calls the setup.sh</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			The execution of this script will take around 20 -30 mins bases on
			the hardware you are using.</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			These are the following thing the setup scripts does</p>
			<ul>
				<li><p style="font-style: normal; text-decoration: none;">
				Deploy CDS</p>
				</li><li><p style="font-style: normal; text-decoration: none;">
				Setup the DB schema and populate minimal data to be multiplied
				later.</p>
				</li><li><p style="font-style: normal; text-decoration: none;">
				Create the number of devices you requested in the env.sh. Create
				the categories and add one content per category.</p>
				</li><li><p style="font-style: normal; text-decoration: none;">
				Create scripts and *.sql file to be used to multiply data in the
				Database</p>
			</li></ul>
			</li><li><p style="font-style: normal; text-decoration: none;">
			Get into the deployment directory and set CDS_HOME path to start
			the CDS server.</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			Log on to all the portal to verify that your setup is correct and
			you are on your way to successful performance setup.</p>
		</li></ul>
	</ul>
</li></ul>
<p><br><br>
</p>
<p style="font-style: normal;"><font size="4"><u><b>Multiplication of
Data Base: </b></u></font>
</p>
<p style="font-style: normal; text-decoration: none;">
The multiply command will create sql scripts one each for PS schema
and VS schema. These scripts will be named as follows</p>
<p style="font-style: normal; text-decoration: none;">
PS Schema: &lt;prefix&gt;_ps.sql &amp;</p>
<p style="font-style: normal; text-decoration: none;">
Vending Schema: &lt;prefix&gt;_vs.sql</p>
<p style="font-style: normal; text-decoration: none;">
Here the &lt;prefix&gt; is the same value you provided for schema in
env.sh file. These files can be found at 
</p>
<p style="font-style: normal; text-decoration: none;"><b>$CDS_HOME/modules/internal/perftest/src/scripts/cdsadmin.</b></p>
<p style="font-style: normal; text-decoration: none;">
Copy the above scripts in the ORACLE HOSTs ORACLE_HOME directory. Log
into Oracle Host , change user into Oracle user and execute each
script as follows.</p>
<ol>
	<li><p style="font-style: normal; text-decoration: none;">
	log into the oracle machine as root</p>
	</li><li><p style="font-style: normal; text-decoration: none;">
	Su into the oracle user 
	</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			# su – oracle 
			</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			# bash</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			export ORACLE_HOME=&lt;enter oracle home directory&gt;</p>
			<ul>
				<li><p style="font-style: normal; text-decoration: none;">
				This is one directory above the bin directory.</p>
			</li></ul>
			</li><li><p style="font-style: normal; text-decoration: none;">
			export ORACLE_SID=&lt;SID of your DB instance&gt;</p>
		</li></ul>
	</ul>
</ul>
<ol start="3">
	<li><p style="font-style: normal; text-decoration: none;">
	Grant permissions to vending and Catalog schemas 
	</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			# sqlplus / nolog</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt; connect / as sysdba</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			You should get a “connected” response.</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt; grant connect , resource to &lt;prefix&gt;_ps_owner
			identified by &lt;password&gt;</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt; grant connect , resource to &lt;prefix&gt;_vs_owner
			identified by &lt;password&gt;</p>
			<ul>
				<li><p style="font-style: normal; text-decoration: none;">
				In the above statements the &lt;password&gt; is the schema
				password mentioned in env.sh file</p>
			</li></ul>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt; exit</p>
		</li></ul>
	</ul>
</ul>
<ol start="4">
	<li><p style="font-style: normal; text-decoration: none;">
	Multiply the all the VS schemas before multiplying the PS schema</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			#sqlplus /nolog</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt;connect &lt;perfix&gt;_vs_owner/&lt;password&gt;;</p>
		</li></ul>
	</ul>
</ul>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			You should get a “connected” response.</p>
		</li></ul>
	</ul>
</ul>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			SQL&gt;@&lt;prefix&gt;_vs.sql</p>
			</li><li><p><font color="#000000"><span style="text-decoration: none;">“</span></font><font color="#000000"><span style="text-decoration: none;"><font face="Helvetica, sans-serif"><font size="3"><span style="font-style: normal;"><span style="">PL/SQL
			procedure successfully completed”</span></span></font></font></span></font><span style="text-decoration: none;"><span style="">
			</span></span>
			</p>
		</li></ul>
	</ul>
</ul>
<ol start="5">
	<li><p style="font-style: normal; text-decoration: none;">
	Multiply the PS schema:</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			#sqlplus /nolog</p>
			</li><li><p style="font-style: normal; text-decoration: none;">
			SQL&gt;connect &lt;perfix&gt;_ps_owner/&lt;password&gt;;</p>
		</li></ul>
	</ul>
</ul>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			You should get a “connected” response.</p>
		</li></ul>
	</ul>
</ul>
<ul>
	<ul>
		<ul>
			<li><p style="font-style: normal; text-decoration: none;">
			SQL&gt;@&lt;prefix&gt;_vs.sql</p>
			</li><li><p style="text-decoration: none;"><font color="#000000">“<font face="Helvetica, sans-serif"><font size="3"><span style="font-style: normal;"><span style="">PL/SQL
			procedure successfully completed”</span></span></font></font></font></p>
		</li></ul>
	</ul>
</ul>
<p style="font-style: normal; text-decoration: none;">
<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">You
are done with multiplication of DB. Now to move on to populating the
subscriber.</font></font></font></p>
<p style="font-style: normal; text-decoration: none;">
<br><br>
</p>
<p style="font-style: normal; text-decoration: none;">
<br><br>
</p>
<p style="font-style: normal;"><font color="#000000"><font face="Times New Roman, serif"><font size="4"><u><b>Creating
Subscribers:</b></u></font></font></font></p>
<p style="font-style: normal; text-decoration: none;">
<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">The
subscriber generation will require gawk on the oracle machine.
Install gawk using the blaswave site( pkg-get) or download it from
<a href="http://www.sunfreeware.com/">www.sunfreeware.com</a></font></font></font></p>
<ol>
	<li><p style="font-style: normal; text-decoration: none;">
	<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">Copy
	the $CDS_HOME/modules/internal/perftest/src/scripts/subscribergen
	directory to $ORACLE_HOME</font></font></font></p>
</li></ol>
<ul>
	<li><p class="p5">cp -r
	$CDS_HOME/modules/internal/perftest/src/scripts/subscribergen 
	/net/&lt;ORACLE HOST&gt;/&lt;ORACLE_HOME&gt;</p>
	<p class="p5"></p>
</li></ul>
<ol start="2">
	<li><p style="font-style: normal; text-decoration: none;">
	<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">Run
	the frontend.sh script from the $ORACLE_HOME/subscribergen
	directory.</font></font></font></p>
</li></ol>
<ul>
	<ul>
		<li><p style="font-style: normal; text-decoration: none;">
		<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">./frontend.sh</font></font></font></p>
		</li><li><p style="font-style: normal; text-decoration: none;">
		<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">This
		script will ask you a set of self explanatory questions, the
		answers to which  match the entries in env.sh script. </font></font></font>
		</p>
	</li></ul>
</ul>
<ol start="3">
	<li><p style="font-style: normal; text-decoration: none;">
	<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">Here
	are the questions and the answers you need to provide to create the
	subscribers.</font></font></font></p>
</li></ol>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">So
what would it be (i/e) [i] ? i -- Enter i for oracle (e for Ldap)</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">Please
supply with your oracle SID [CDSDB]:</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">Who's
your database super user [system] ?</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">Please
supply with your super user password []: oracle123</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">What
is your catalog database prefix [CDS] ? BlueDogPerf</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">What
is your fulfillment database prefix [BlueDogPerf] ? “Hit enter
here”</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">How
many additional vending schemas do you have [1] ? 0 -- enter 0 for
single server</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">And
what is your base vending database prefix [BlueDogPerf] ?</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">Enter
name prefix for subscribers [user] :  S “Specify the value as given
in env.sh. This will create the subscriber names with the prefix 's'
e.g. s100, s101 etc.”</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">Enter
the USER ID base [1000000] : 1000000 -- Specify the value as given in
env.sh. This will create the subscriber names with suffix starting
from 1000000. e.g. s1000000 , s1000001, etc.</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">What
is your device model base [1000] ? for sentinel_preview and Bluedog
the sequence number for handset_id column in handset number begins
with 1000.</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">How
many devices do you have [6] ? 96 -- these are the number of devices
in catalog manager, if you enter a smaller number then it's ok but
don't enter a number more than the device count.</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm;">How
many subscribers do you want to create for each vending ? 2000000 -
Specify the value as given in env.sh. 
</p>
<p class="p5" style="margin-left: 2.01cm; margin-bottom: 0.51cm; font-style: normal; text-decoration: none;">
<font color="#000000"><font face="Times New Roman, serif"><font style="font-size: 9pt;" size="2">please
supply common user password []: cdsuser --&nbsp; all the subscribers
will have the same password</font></font></font></p>
<ol start="4">
	<li><p style="font-style: normal; text-decoration: none;">
	<font color="#000000"><font face="Helvetica, sans-serif"><font size="3">See
	the message of completion and you are done with subscriber creation
	for vending schemas.</font></font></font></p>
</li></ol>
<p><br><br>
</p>
<p style="margin-top: 0.43cm; page-break-after: avoid;"><a name="Recreate the indexes and constraints"></a><a name="23"></a>
<font face="Times New Roman, serif"><font size="4"><u><b>Recreate the
indexes and constraints</b></u></font></font></p>
<p class="p5" style="margin-bottom: 0.51cm;">Run postsetupl.sh from
wrapper scripts folder for each CDS deployment. This will recreate
all the indexes and constraints and start the server.</p>
<p class="p5" style="margin-bottom: 0.51cm;">If you face issues with
postsetupl.sh, download the scripts that do that for you form the
jalapi wiki  section. Copy them into your $ORACLE_HOME directory and
run them just like you ran the multiplication scripts.</p>
<p class="p5" style="margin-bottom: 0.51cm;">Log into the Catalog
schema and run the two files. One related to constraints and tho
other related to recreating the indexes.</p>
<p class="p5" style="margin-bottom: 0.51cm;">Do the same for Vending
schema as well. Log into vending schema and run the two sql file ,
just like you ran the multiplication scripts. 
</p>
<p class="p5" style="margin-bottom: 0.51cm;">You are done with
populating the Database.</p>
<p class="p5" style="margin-bottom: 0.51cm;"><br><br>
</p>
<p style="margin-top: 0.43cm; page-break-after: avoid;"><a name="Rebuild Solar Indexes"></a><a name="solar"></a>
<font face="Times New Roman, serif"><font size="4"><u><b>Rebuild Solar
Indexes</b></u></font></font></p>
<p style="margin-bottom: 0cm; line-height: 100%; text-decoration: none;">
<font face="Times New Roman, serif"><font size="3">Multiplication
scripts duplicates records in the database directly whereas the solr
indexes maintained in the local directory have to be rebuilt. Perform
the following tasks to rebuild solr indexes.</font></font></p>
<p style="margin-bottom: 0cm; line-height: 100%; text-decoration: none;">
<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%; text-decoration: none;">
<font face="Times New Roman, serif"><font size="3"><font face="Times New Roman, serif"><font size="3"><span style="text-decoration: none;">Note
: If the number of contents are more , the solr rebuild will throw an
Oracle error “ To many open cursors open”. To get over this
problem, temporaryly increase the number of open cursors in the
oracle Database. More on this in appendix.</span></font></font></font></font></p>
<p style="margin-bottom: 0cm; line-height: 100%; text-decoration: none;">
<br>
</p>
<p><font face="Times New Roman, serif">The indices created by a
particular deployment are <font face="Times New Roman, serif">located
in $CDS_HOME/solr_data/&lt;deployment_name&gt; directory. If the
contents of  this directory are removed before CDS is started, the
search service will create empty indices. The indices may need to be
rebuilt, if the database connected to the server is not empty, the
indices need to be rebuilt using a service URL. If the deployment is
a shared CM and VM deployment, the indices </font><font face="Times New Roman, serif"><font size="3"><span style="text-decoration: none;">for
both CM and VM need to be rebuilt.</span></font></font></font></p>
<p><font face="Times New Roman, serif"><font face="Times New Roman, serif"><font size="3"><span style="text-decoration: none;">Start
the CDS server and execute the following urls after replacing
“host.domain.com:port”  with appropriate values.</span></font></font></font></p>
<p><br><br>
</p>
<ul>
	<li><p>CM rebuild URL :
	http://host:port/admin/main/search_update?action=rebuild</p>
	</li><li><p>VM rebuild URL :
	http://host:port/vsadmin/main/search_update?action=rebuild</p>
	</li><li><p>CM clean URL :
	http://host:port/admin/main/search_update?action=delete_all</p>
</li></ul>
<ul>
	<li><pre style="margin-bottom: 0.5cm;"><font face="Times New Roman, serif"><font face="Times New Roman, serif"><font size="3"><span style="text-decoration: none;">VM clean URL : http://host:port/vsadmin/main/search_update?action=delete_all</span></font></font></font></pre>
</li></ul>
<p style="margin-bottom: 0cm; text-decoration: none;"><br>
</p>
<p style="margin-top: 0.43cm;"><font face="Times New Roman, serif"><font size="4"><u><b>Making
basic changes (Tuning) to the deployment before staring the
performance testing.</b></u></font></font></p>
<p style="text-decoration: none;"><span style="font-style: normal;"><span style="">Modify
the following files : Change directory into
$CDS_HOME/deployment/&lt;deploymentName&gt;/conf</span></span></p>
<ol>
	<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">DatabasePools.properties
	: </span></span>
	</p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">catalog_pool.db.pool.size.max=30</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">subscriber_pool.db.pool.size.initial=50</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">subscriber_pool.db.pool.size.max=80</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">vending_pool.db.pool.size.max=30</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">The
			above values are set in increase number of DB connections
			available for CDS. As there is no hard and fast rule for these
			values, kindly change these values as required.</span></span></p>
		</li></ul>
	</ul>
</ul>
<ol start="2">
	<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">cache.config
	:</span></span></p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">cache.CategoryItem.threshold
			= 10000</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">cache.ResourceContentData.threshold
			= 10000</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">This
			is done to increase cache performance.</span></span></p>
		</li></ul>
	</ul>
</ul>
<ol start="3">
	<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">FulfillmentService.properties
	:</span></span></p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">fs.allow_unprovisioned_downloads
			= true</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">This
			property is used allow download  of a content without any
			provision check</span></span></p>
		</li></ul>
	</ul>
</ul>
<ol start="4">
	<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">License.properties
	:</span></span></p>
</li></ol>
<ul>
	<ul>
		<ul>
			<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">Update
			the license.start_date attribute to point to the most recent date.</span></span></p>
			</li><li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">license.start_date
			= 06/1/2008</span></span></p>
		</li></ul>
	</ul>
</ul>
<ol start="5">
	<li><p style="text-decoration: none;"><span style="font-style: normal;"><span style="">Make
	sure the logging is set to WARNING. If the logging is set to Debug
	or All  , it has a significant impact on the CDS server CPU
	utilization. This happens due to extensive disk write (logging).</span></span></p>
	<p style="text-decoration: none;"></p>
</li></ol>
<p style="font-style: normal; text-decoration: none;"><font size="4"><u><b>Changes
needed for weblogic server :</b></u></font></p>
<p style="font-style: normal; text-decoration: none;">
<font size="3">Look at the following document to make changes to the
cds deployment on weblogic. </font>
</p>
<p style="font-style: normal; text-decoration: none;">
<font size="3"><a href="http://docs.sun.com/source/819-3218-10/tuning.html#pgfId-1005112">http://docs.sun.com/source/819-3218-10/tuning.html#pgfId-1005112</a></font></p>
<p style="font-style: normal; text-decoration: none;">
<font size="3">Ignore the following sections in the above link: </font>
</p>
<ol>
	<li><p>2.1.3 Set the Database Memory Allocations</p>
	</li><li><p>2.1.3 Set the Database Memory Allocations</p>
	</li><li><p>2.2 Tuning the Oracle Database</p>
</li></ol>
<p style="margin-top: 0.43cm; page-break-after: avoid;"><a name="Fine tuning steps for SJSAS"></a><a name="29"></a>
<font face="Albany, sans-serif"><font size="4"><u><b>Fine tuning steps
for SJSAS</b></u></font></font></p>
<p class="p5" style="margin-bottom: 0.51cm;">Following fine tuning is
done on SJSAS to gain optimal performance from CDS. These setting are
already incorporated in CDS deployment through the automated
deployment scripts.</p>
<p class="p5" style="margin-bottom: 0.51cm;">1.Disable "auto-deploy"
and "auto-reload" of the single server instance in
domain.xml</p>
<p class="p5" style="margin-bottom: 0.51cm;">2.Remove the "jvm-option"
tag from domain.xml</p>
<p class="p5" style="margin-bottom: 0.51cm;">3.Add reload-interval to
sun-web.xml of Subscriber Portal and FulfillmentManager.</p>
<p class="p5" style="margin-bottom: 0.51cm;">              
&lt;jsp-config&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">              &lt;property
name="reload-interval" value="-1"/&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">             
&lt;/jsp-config&gt;</p>
<p class="p3" style="margin-bottom: 0.51cm;"><br><br>
</p>
<p class="p5" style="margin-bottom: 0.51cm;">4.Add new parameters in
default-web.xml</p>
<p class="p5" style="margin-bottom: 0.51cm;">
&lt;servlet-name&gt;jsp&lt;/servlet-name&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">
&lt;servlet-class&gt;org.apache.jasper.servlet.JspServlet&lt;/servlet-class&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-name&gt;development&lt;/param-name&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-value&gt;false&lt;/param-value&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;/init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-name&gt;genStrAsCharArray&lt;/param-name&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-value&gt;true&lt;/param-value&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;/init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-name&gt;xpoweredBy&lt;/param-name&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;param-value&gt;true&lt;/param-value&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;/init-param&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;load-on-startup&gt;3&lt;/load-on-startup&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">&lt;/servlet&gt;</p>
<p class="p5" style="margin-bottom: 0.51cm;">5.Add server's IP address
to the HTTP listener page so that the server makes one less system
call per connection.</p>
<p class="p5" style="margin-bottom: 0.51cm;">6.Set JVM heap size to 1G
(min and max)</p>
<p class="p12" style="margin-bottom: 0.51cm;">7.Set db.pool.size.max
to 30 for the entities related to VS_DATA_SOURCE (EventService,
ReportService, PostpaidService, FulfillmentService, VSAdminConsole
and SubscriberPortal.properties files).</p>
<p class="p5" style="margin-bottom: 0.51cm;">8.Set the cache size for
CategoryItem and ResourceContentData to 10,000</p>
<p class="p5" style="margin-bottom: 0.51cm;">i.e. in the file
cache.config set:</p>
<p class="p5" style="margin-bottom: 0.51cm;">cache.ResourceContentData.threshold=10000</p>
<p class="p5" style="margin-bottom: 0.51cm;">cache.config:cache.CategoryItem.threshold
= 10000</p>
<p class="p5" style="text-decoration: none;"><font face="Times New Roman, serif"><font style="font-size: 9pt;" size="2">9.Set
the number of acceptor threads to "#of CPUs in app server"
in domain.xml. This is the number of socket accepts that the server
can have on the listener port.</font></font></p>
<p class="p5" style="text-decoration: none;"><br>
</p>
<p class="p5" style="text-decoration: none;"><br>
</p>
<p style="text-decoration: none;"><i><b>Congrats you are done with
deploying CDS and populating the Database as needed. </b></i>
</p>
<p style="text-decoration: none;"><i><b>Look at the “Scheduling a
job using Slamd” document to use slamd for performance testing. </b></i>
</p>
<p style="text-decoration: none;"><i><b><br></b></i><br><br>
</p>
</body></html>